/*
	This file is part of AVRCppLib.

    AVRCppLib is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    AVRCppLib is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with AVRCppLib.  If not, see <http://www.gnu.org/licenses/>.

    Copyright (C) Maxime Lemonnier 2007-2011
 */

#ifndef PrescalersV3_H_
#define PrescalersV3_H_

#include "../Utils/Utils.h"

namespace ADCs
{

namespace Prescalers
{

	/*! AnalogToDigital prescaler enum
	* The AnalogToDigital's frequency will be \f$ \frac{freq_{clockSource}}{prescaler} \f$
	* where \f$ freq_{clockSource} \f$ is typically the cpu frequency but can be provided externally
	*/
	enum Prescaler {
		DIV_2 = 0x00,					//!<!< divide clock source by 2
		DIV_4 = 0x02,					//!<!< divide clock source by 4
		DIV_8 = 0x03,					//!<!< divide clock source by 8
		DIV_16 = 0x04,					//!<!< divide clock source by 16
		DIV_32 = 0x05,					//!<!< divide clock source by 32
		DIV_64 = 0x06,					//!<!< divide clock source by 64
		DIV_128 = 0x07,					//!<!< divide clock source by 128
		FASTEST_2 = DIV_2,					//!<!< same as DIV2 least precise
		SLOWEST_128 = DIV_128				//!<!< same as DIV128 most precise
	};

}

}
#endif /* Prescalers_H_ */
